/*--------------------------------------------------------------------------------
	Viewer + Exporter Public Define File
									by Hujub SungiL	

	HISTORY : 2005_10_14

    LAST UPDATE : 2005_10_14
--------------------------------------------------------------------------------*/

#include <tchar.h>

// BASIC
#define ID_FILENAME			_T("*HUJUB_EXPORTER_FILE")
#define ID_FILEVERSION		0.01
#define ID_FILEMAKEDATA		_T("*FILE_CREATE_DATA")

// HJ_SCENE
#define ID_SCENE			_T("*SCENE")
// FRAME INFORMATION
#define ID_FIRSTFRAME		_T("*FIRSTFRAME")
#define ID_LASTFRAME		_T("*LASTFRAME")
#define ID_FRAMESPEED		_T("*FRAMESPEED")
#define ID_TICKPERFRAME		_T("*TICKPERFRAME")
// INFORMATION
#define ID_NUMROOTMATERIAL	_T("*NUMROOTMATERIAL")
#define ID_NUMGEOMOBJECT	_T("*NUMGEOMOBJECT")
#define ID_BANIMATIONMODEL	_T("*B_ANIMATIONMODEL")


// HJ_MATERIAL
#define ID_MATERIALLIST		_T("*MATERIAL_LIST")
#define ID_MATERIAL			_T("*MATERIAL")
#define ID_AMBIENT			_T("*AMBIENT")
#define ID_DIFFUSE			_T("*DIFFUSE")
#define ID_SPECULAR			_T("*SPECULAR")
#define ID_NUMSUBMATERIAL	_T("*NUMSUBMATERIAL")
#define ID_TEXTUREFILENAME	_T("*TEXTUREFILENAME")
// HJ_SUBMATERIAL
#define ID_SUBMATERIAL		_T("*SUBMATERIAL")


// HJ_GEOMOBJECT
#define ID_GEOMOBJECT		_T("*GEOMOBJECT")
#define	ID_ENDGEOMOBJECT	_T("*END_GEOMOBJECT")

#define ID_NODENAME			_T("*NODE_NAME")
#define ID_NODEPARENT		_T("*NODE_PARENT")

#define ID_NUMTRIAGLE		_T("*NUM_TRIANGLE")
#define ID_NUMVERTEX		_T("*NUM_VERTEX")
#define ID_NUMFACE			_T("*NUM_FACE")
#define ID_NUMTVERTEX		_T("*NUM_TVERTEX")
#define ID_NUMCVERTEX		_T("*NUM_CVERTEX")
#define ID_NUMPOSTRACK		_T("*NUM_POS_TRACK")
#define ID_NUMROTTRACK		_T("*NUM_ROT_TRACK")
#define ID_NUMSCALETRACK	_T("*NUM_SCALE_TRACK")
#define ID_NUMVERTEXGROUP	_T("*NUM_VERTEX_GROUP")
#define ID_BSUBMATERIAL		_T("*B_SUBMATERIAL")
#define ID_NUMMATERIAL		_T("*NUM_MATERIAL")
#define ID_BBONE			_T("*B_BONE")
#define ID_BPARENT			_T("*B_PARENT")

#define ID_BOXMAX			_T("*BOX_MAX")
#define ID_BOXMIN			_T("*BOX_MIN")

#define ID_VERTEXGROUP		_T("*VERTEX_GROUP")
#define ID_VGROUPCOUNT		_T("*VERTEX_GROUP_COUNT")
#define ID_VGROUPID			_T("*VERTEX_GROUP_ID")

#define ID_LOCALMATRIX		_T("*LOCAL_MATRIX")
#define ID_WORLDMATRIX		_T("*WORLD_MATRIX")
#define ID_INVERSEMATRIX	_T("*INVERSE_MATRIX")
#define ID_VERTEXLIST		_T("*VERTEX_LIST")
#define ID_INDEXLIST		_T("*INDEX_LIST")
#define ID_OUTPUTFORMAT		_T("*OUTPUT_FORMAT")

#define	ID_ANIMATIONMATRIX	_T("*ANIMATION_MATRIX")
#define ID_POSTRACK			_T("*POS_TRACK")
#define ID_ROTTRACK			_T("*ROT_TRACK")
#define ID_SCALETRACK		_T("*ROT_TRACK")

#define ID_MATERIALREF		_T("*MATERIAL_REF")


// Plus Export Define
#define	ID_GEOMEXPORTER		_T("*GEOMETRY_EXPORTER")
#define	ID_MATERIALEXPORTER	_T("*MATERIAL_EXPORTER")
#define	ID_ANIMATIONEXPORTER	_T("*ANIMATION_EXPORTER")

#define	ID_INFORMATION		_T("*INFORMATION")
#define	ID_BIPEDINFO		_T("*BIPED_INFO")
#define	ID_INDEXGROUP		_T("*INDEX_GROUP")
#define ID_GROUP			_T("*GROUP")

#define	ID_BIPEDCOUNT		_T("*BIPED_COUNT")
#define	ID_BIPEDMESH		_T("*BIPED_MESH")
#define	ID_BIPMESHINFO		_T("*BIPED_MESH_INFO")
#define	ID_BIPMESHVERTEX	_T("*BIPED_MESH_VERTEX")
#define	ID_BIPMESHINDEX		_T("*BIPED_MESH_INDEX")


// FILE NAME + PATH
#define	DEFAULT_DRIVE			_T("C")
#define TOP_FOLDER_NAME			_T("HJExporter")
#define	DEFAULT_SAVE_PATH		_T("C:\\HJExporter")

#define	MATERIAL_FOLDER_NAME	_T("Material")
#define	GEOM_FOLDER_NAME		_T("Geom")
#define	TEXTURE_FOLDER_NAME		_T("Texture")
#define ANIMAT_FOLDER_NAME		_T("Animation")
#define	BIPTRI_FOLDER_NAME		_T("BipTri")
#define	BIPLIST_FOLDER_NAME		_T("BipList")
#define	BIPINHERIT_FOLDER_NAME	_T("BipInherit")

#define	MATERIAL_FILE_SAVEPATH	_T("C:\\HJExporter\\Material\0")
#define	GEOM_FILE_SAVEPATH		_T("C:\\HJExporter\\Geom\0")
#define	TEXTURE_FILE_SAVEPATH	_T("C:\\HJExporter\\Texture\0")
#define	ANIMAT_FILE_SAVEPATH	_T("C:\\HJExporter\\Animation\0")
#define	BIPTRI_FILE_SAVEPATH	_T("C:\\HJExporter\\BipTri\0")
#define	BIPLIST_FILE_SAVEPATH	_T("C:\\HJExporter\\BipList\0")
#define	BIPINHERIT_FILE_SAVEPATH	_T("C:\\HJExporter\\BipInherit\0")

// Plus Pack	05_10_28
#define	GEOM_HEAD_FOLDER_NAME		_T("Geom\\Head")
#define	GEOM_UPPER_FOLDER_NAME		_T("Geom\\Upper")
#define	GEOM_LOWER_FOLDER_NAME		_T("Geom\\Lower")
#define	GEOM_SHOES_FOLDER_NAME		_T("Geom\\Shoes")

#define GEOM_HEAD_FILE_SAVEPATH		_T("C:\\HJExporter\\Geom\\Head\0")
#define GEOM_UPPER_FILE_SAVEPATH	_T("C:\\HJExporter\\Geom\\Upper\0")
#define GEOM_LOWER_FILE_SAVEPATH	_T("C:\\HJExporter\\Geom\\Lower\0")
#define GEOM_SHOES_FILE_SAVEPATH	_T("C:\\HJExporter\\Geom\\Shoes\0")
// Plus Pack End

#define	MATERIAL_FILE_NAME		_T("HJMat.hjm\0")
#define	GEOM_FILE_NAME			_T("HJGeom.hjg\0")
#define	TEXTURE_FILE_NAME		_T("HJTexture.hjt\0")
#define	ANIMAT_FILE_NAME		_T("HJAni.hja\0")
#define	BIPTRI_FILE_NAME		_T("HJTri.hjt\0")
#define	BIPLIST_FILE_NAME		_T("HJList.hjl\0")
#define	BIPINHERIT_FILE_NAME	_T("HJInherit.hji\0")

#define	MATERIAL_FILE_EXT		_T(".hjm\0")
#define	GEOM_FILE_EXT			_T(".hjg\0")
#define	ANIMAT_FILE_EXT			_T(".hja\0")
#define	BIPTRI_FILE_EXT			_T(".hjt\0")
#define	BIPLIST_FILE_EXT		_T(".hjl\0")
#define	BIPINHERIT_FILE_EXT		_T(".hji\0")

#define	MAX_WEIGHT_BIPED		4
#define	NUM_POLYVTX				3

#define	HJM_TICK				WM_USER+1
#define	HJM_ADDPATH				WM_USER+2
#define	HJM_CLEAR				WM_USER+3
#define HJM_CREATE				WM_USER+4
#define	HJM_REFRESH				WM_USER+5
#define	HJM_ANIMPLAY			WM_USER+6
#define	HJM_RES					WM_USER+7

#define D3DFVF_BIPMESH_VERTEX	( D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1 )

#define	ANIM_STARTFRAME			0
